// const { default: api } = require("../../api/goods");

// vue 分页混合
var vuelist  = {
    data: function(){
        var app = getApp();
        return {
            //------分页查询-----
            list:[], // 列表数据
            total: null, // 分页总条数
            isLoading:false,//拉取状态
            // isNodata:false,// 是否无数据
			empty: false, // 无数据
            queryParams: {
                page: 1,
                limit:10,
            },
            queryUrl:'',//查询api 地址
            queryBaseUrl:app.globalData.publicUrl
            //------分页查询-----
        }
    },
    //上拉加载
    onReachBottom(){
		console.log('onReachBottom');
        this.LoadMore();
    },
    //上啦刷新
    onPullDownRefresh() {
        this.Reload();
    },
	computed:{
		isNodata(){
			if(this.queryParams.page * this.queryParams.limit >= this.total){
				return true
			}else{
				return false
			}
		},
		// 显示暂无数据
		isEmpty(){
			if(this.total == 0){
				return true
			}else{
				return false
			}
		}
	},
    methods:{
        // 拉取数据
        LoadData(){
            uni.showLoading({ title: '加载中...' });
            this.isLoading =true;
            this.api.Query(this.queryParams)
            .then(res=>{
                // 数据加载完成后 设置 after 钩子
                this.total = res.data.total;
                this.afterLoadData && this.afterLoadData(res.data);
                this.list = this.list.concat(res.data.items);
            })
            .catch(res=>{
            }).finally(_=>{
                uni.hideLoading();
                uni.stopPullDownRefresh();
                this.isLoading =false;
            })
        },
        // 下一页
        LoadMore(){
            if(this.isNodata||this.isLoading)return;//无数据或者加载中不进行加载
            this.queryParams.page += 1;
            this.LoadData();
        },
        // 重新加载
        Reload(){
            this.isLoading= false;
            this.list = [];
            this.queryParams.page = 1;
            this.LoadData();
        }
    }
}
module.exports ={
    vuelist
  }